A portion of the disclosure of this patent document including Appendix A contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
This invention relates generally to database management, and more specifically to methods for saving data needed to reconstruct a database management system.
A database system has hardware elements and software elements. The software elements of the database system commonly include the operating system such as a UNIX operating system, a Windows NT operating system, or an OS/2 operating systems, the database management programs such as those provided by Informix, Oracle or Sybase, and the databases utilized by the database management programs. A conventional database system is schematically shown in FIG. 1.
The hardware elements commonly include the electronic computing devices and storage devices, such as hard disks or tape drives. Because of the usually large size of the software elements, the storage devices are normally large, having several hard disks linked together, for example. The databases are normally the largest in size among the software elements and commonly require the most storage space.
FIG. 1 shows one example of a conventional Sybase database system including a SQL server 102 that is installed on a database server computer 110. SQL server 102 is one specific example of a database server. A computer network 100 that interconnects database server computer 110, a plurality of workstations (not shown), and a database administrator workstation 107. Data administrator workstation 107 includes a local hard disk drive system 117 and a tape back-up system 109. Typically, data administrator workstation 107 is used to configure and control operation of SQL server 102.
SQL server 102 is typically a relational database management system. In a relational database management system, all the data are stored in tables, where each table represents an xe2x80x9centityxe2x80x9d or a group of related information. Each row in a table represents information about an individual example of that entity.
SQL server 102 typically maintains information regarding the configuration and use of the relational database system, i.e., system information, in system tables within a master database 103. Master database 103 is one specific example of a system database in a more general database server. Master database 103 is dedicated to managing this system data. Master database 103 is completely independent of user databases 104, which contain information an individual user of the database normally accesses, and which can be created and managed within SQL server 102.
Within each user database, there are also system tables 105 that contain configuration data for that particular user database. Normally, user database system tables 105 contain user information such as access permission for the database objects.
The system tables in master database 103 store information regarding the users of SQL server 102, the users"" account names and passwords, the size of each database, the size and location of disk space available to the databases, and the placement of the individual databases on individual disks, etc. The information stored in master database 103 is critically important. Without this information, one cannot restore the configuration of SQL server 102.
During normal operation, SQL server 102 automatically makes full and incremental backups of user databases 104 and master database 103. If there is a problem with a particular user database, the database administrator can reload the full and incremental backups of that user database, and SQL server 102 restores the data in the user database to the same state as when the last incremental dump was done.
Unfortunately, there are many situations in which simply reloading the backups, sometimes called dumps, is not sufficient to recreate the configuration of SQL server 102. Typically, the backups are stored in a proprietary format. In this situation, the backups are not useful unless the backup information can be loaded into a SQL server that is already properly configured.
In restructuring a server machine, e.g., adding additional physical disk capacity and moving logical volumes to the new physical disks, operating system 101 redefines the location of logical volumes, e.g., redefines the partitioning of the physical devices. In this situation, simply reloading database 103 restores the data in the system tables. Unfortunately, the data in the system tables now has no meaning because server machine 110 now has new disks and new disk partitioning, which is different from that in master database 103. A similar problem occurs in transporting SQL server to a new server machine.
In case of a disk failure or a corrupted backup tape, master database 103 may be lost. If there is a tape backup, it is typically unusable given the priority nature of the format. In this case, the ability to reload master database 103 is lost. This effectively wipes out SQL server 102. To assure restoration of an SQL server under all failure scenarios a new backup methodology is required.
A database configuration data backup computer process automatically backs up database configuration data in a database management system recovery file that is easily read by a database administrator. The database configuration information stored in the computer file is sufficient to permit the database administer to reconstruct the complete database management system including all system databases and all user databases.
Therefore, if the original database management system is corrupted, or if the original database management system is damaged, it is no longer necessary to have a working database server to read the backup data. Rather, the database administrator, using the database configuration file of this invention can restore the database management system. The database management system recovery output file is human readable which means that the data in the file is stored in a format, typically a text format such as the ASCII format, that can be displayed easily on a computer system. Since the data is not in a proprietary format that can be processed only by a working database management system server, the fact that there is not a working database management system server is of no consequence.
In one embodiment, a computer operating system includes a mechanism for executing a process at a scheduled time and this mechanism initiates the execution of database configuration data backup process of this invention. The process dumps the system configuration data, e.g., data in system tables of a system database, to the human readable database management system recovery output file. For example, an identification of a database server followed by the overall configuration of the database server is written to human readable database management system recovery output file. This information includes a complete map of the storage space used by database server as well as the storage space available to database server.
To obtain the configuration information for each user database in the database server, the user databases must be identified. Hence, the process of this invention accesses the system database and obtains the name of each user database. A list of user database names is written to human readable database management system recovery output file.
For each user database in the list, the configuration data from the user database is written to the human readable database management system recovery output file. The configuration data for the user database includes the database name, the user account names, the access codes, etc.
When the configuration information for each user database in the database list is written to the human readable database management system recovery output file, the file is sent via electronic mail to a designated location or locations.
The process of this invention takes information in a first form, i.e., data in the system and user databases, and converts the information to a second form, data written in a standard format, that is stored in a computer file that is easily read by a human. This conversion provides a new level in capability in restoring database management systems.